#include <iostream>
#include <unistd.h>
#include <signal.h>
#include <unistd.h>
using namespace std;
static void int_hander(int s)
{
    cout<<"pid="<<getpid();
printf("获取到了信号%d\n",s);
}
int main()
{
int i=0;
    struct sigaction mask ,omask;
    mask. sa_handler = int_hander;
    sigemptyset(&mask.sa_mask);
    sigaddset(&mask.sa_mask,2);
    sigprocmask(SIG_BLOCK,&mask.sa_mask,nullptr);
    sigaction(2, &mask, &omask);
int n=1;
while(true)
{
    if(i==5)
    {
sigprocmask(SIG_UNBLOCK,&mask.sa_mask,nullptr);
    }
    if(i==10)
    {
        break;
    }
    i++;
    sleep(1);
}

    return 0;
}